package homeword;

public class objectArray5 {
    private String ID;
    private String name;
    private int age;

    public objectArray5() {
    }

    public objectArray5(String ID, String name, int age) {
        this.ID = ID;
        this.name = name;
        this.age = age;
    }

    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    //遍历数组
    public void showArr(objectArray5 []arr){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]!=null) {
                System.out.println("学号为：" + arr[i].getID());
                System.out.println("姓名为：" + arr[i].getName());
                System.out.println("年龄为：" + arr[i].getAge());
                System.out.println();
            }
        }
    }
    //判断学号ID是否重复
    public boolean contains(objectArray5[] arr, String ID) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] != null && arr[i].getID().equals(ID)) {
                return false;  // 找到相同ID，返回false表示包含
            }
        }
        return true;  // 没找到相同ID，返回true表示不包含
    }

    // 根据学号删除学生信息
    public boolean deleteById(objectArray5[] arr, String ID) {
        // 1.找到要删除的学生索引
        int index = -1;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] != null && arr[i].getID().equals(ID)) {
                index = i;
                break;
            }
        }
        
        // 2.如果找到了学生
        if (index != -1) {
            // 将后面的元素往前移动
            for (int i = index; i < arr.length - 1; i++) {
                arr[i] = arr[i + 1];
            }
            // 最后一个元素置为null
            arr[arr.length - 1] = null;
            return true;
        }
        return false;
    }
    //再次添加一个学生对象，并在添加的时候进行学号的唯一性判断。
    //1.判断初始数组已经满，创建新数组将旧数组存储到新数组，
    //2.初始数组没满在后面添加,数组元素new [arr.length+1]arr.length-1!=null;
    public objectArray5 []newArr(objectArray5 []arr){
        //若初始化数组已满
        if(arr[arr.length-1]!=null){
            objectArray5 []newArr=new objectArray5 [arr.length+1];
            //将原数组存储到新数组
            for (int i = 0; i < arr.length; i++) {
                newArr[i]=arr[i];
            }
            return newArr;
        }
        else{
            return arr;
        }
    }
}
